package com.pan.admin.module.visualizer.service;

import com.pan.admin.module.visualizer.entity.po.ApiDataStatisticsPO;
import com.pan.admin.module.visualizer.entity.po.ApiLogVisualizerPO;
import com.pan.admin.module.visualizer.entity.qo.ApiLogVisualizerQO;
import com.pan.admin.module.visualizer.entity.qo.ApiVisualizerQO;

import java.util.List;

/**
 *  API渠道数统计-业务层
 *
 *  @author Pan
 */
public interface ApiDataStatisticsService {

    /**
     *  插入API渠道数据统计
     *
     *  @param listApiDataStatisticsPO
     *  @return
     */
    void batchInsert(List<ApiDataStatisticsPO> listApiDataStatisticsPO);

    /**
     *
     *  @param apiDataStatisticsPO
     *  @return
     */
    int update(ApiDataStatisticsPO apiDataStatisticsPO);

    /**
     *
     *  @return
     */
    List<ApiDataStatisticsPO> listNotExistApiClient();

    /**
     *  获取API渠道统计数据
     *
     *  @return List
     */
    List<ApiDataStatisticsPO> listApiDataStatistics();

    /**
     *  获取流程表数据
     *
     *  @param  apiVisualizerQO
     *  @return List
     */
    List<ApiDataStatisticsPO> listFlow(ApiVisualizerQO apiVisualizerQO);

    /**
     *  获取账单数据
     *
     *  @param  apiVisualizerQO
     *  @return List
     */
    List<ApiDataStatisticsPO> listBill(ApiVisualizerQO apiVisualizerQO);

    /**
     *  根据ApiClientId获取APILog日志关联数据
     *
     *  @param  apiLogVisualizerQO
     *  @return List
     */
    List<ApiLogVisualizerPO> listApiLogCountByApiClientId(ApiLogVisualizerQO apiLogVisualizerQO);
}
